function StrAlloc(len: longint): Pchar;
procedure StrDispose(p: pchar);

function StrDup(a: PChar): PChar;
function StrConcat(a,b: pchar): pchar;
function StrDelete(a: pchar; idx, len: longint): pchar;
function StrCopy(a: pchar; idx, len: longint): pchar;

function StrLen(p: Pchar): longint;
function StrComp(a,b: pchar; len: longint = -1): boolean;

function StrPosChar(sub: char; a: pchar): longint;
function StrPos(sub, a: pchar): longint;
function StrRPos(sub, a: pchar): longint;

//* = variable length wildcard
//? = single char wildcard
function StrMatch(exp, str: pchar): boolean;

//%i = int
//%s = string
//%x = hex int
function StrFormat(format: pchar; const Args: array of pointer): pchar;

function IntToStr(int: ptruint): pchar;
function IntToHex(int: ptruint): pchar;